
// pages/goods_list/goods_list.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    tab: [
      {
        tab_id: 0,
        tab_name: "综合",
        flag: true
      },
      {
        tab_id: 1,
        tab_name: "销量",
        flag: false
      },
      {
        tab_id: 2,
        tab_name: "价格",
        flag: false
      },
    ],
    //商品列表数据存储
    goodsList: [],
  },

  //总页数
  totaPage: 1,
  // 定义数据
  queryInfo: {
    query: "",
    cid: 0,
    pagenum: 1,
    pagesize: 10,
  },

  //父组件定义的方法
  add(e) {
    console.log(e);
    let { active } = e.detail;
    let { tab } = this.data;
    console.log(tab);
    tab.forEach(item => item.flag = item.tab_id === active)
    this.setData({
      tab
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    //获取到分类id
    this.queryInfo.cid = options.cid
    //调用商品列表
    this.getGoodList();
  },

  //请求商品列表数据
  getGoodList: async function () {
    // this.queryInfo.cid = parseInt(cid)
    let { data } = await wx.goodsApi.getGood(this.queryInfo)
    // console.log(data);
    //获得总页数
    this.totaPage = Math.ceil(data.message.total / this.queryInfo.pagesize)

    this.setData({
      //concat() 合并数组
      goodsList: this.data.goodsList.concat(data.message.goods),
    })
    console.log(this.data.goodsList);
    //请求完毕数据关闭下拉刷新页面效果
    wx.stopPullDownRefresh()
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    console.log('页面相关事件处理函数--监听用户下拉动作');
    this.queryInfo.pagenum = 1;
    this.setData({
      goodsList: []
    })
    this.getGoodList()
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    // console.log('触底事件');
    //判断还有没有下一页
    if (this.queryInfo.pagenum > this.totaPage) {
      // console.log('没有了');
      wx.showToast({
        title: '没有下一页了!',
        icon: 'error',
      })
    } else {
      // this.queryInfo.pagenum++;
      let queryInfo = this.queryInfo
      queryInfo.pagenum++
      this.setData({
        queryInfo
      })
      console.log(this.queryInfo);
      //调用总数据
      this.getGoodList();
    }
  },
})